Automated document content modification

ABSTRACT

Systems and methods may be used to present changes to a document on a user interface. A method may include receiving, on the user interface, a user input including an edit task to a first portion of a document. The method may include determining, using a processor, that a second portion of the document includes text changeable by the edit task. The method may include automatically performing the edit task on the second portion of the document within the user interface based on the determination.

BACKGROUND

There are many repetitive and time consuming tasks facing usersattempting to format or change content in a text document today.Currently, a user has to make these changes manually. In order toautomate some repetitive tasks, user may opt to create a macro or asmall program to perform the tasks. However, creating a macro or programoften requires programing skills or advanced computer knowledge orskills, which puts these solutions out of reach of many users. Somespreadsheet techniques simply fill empty cells with new content based onexisting patterns, but do not modify any existing content.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings, which are not necessarily drawn to scale, like numeralsmay describe similar components in different views. Like numerals havingdifferent letter suffixes may represent different instances of similarcomponents. The drawings illustrate generally, by way of example, butnot by way of limitation, various embodiments discussed in the presentdocument.

FIGS. 1A-1G illustrate a user interface for presenting a documentincluding automatic text modification in accordance with someembodiments.

FIGS. 2A-2C illustrate a user interface for presenting a documentincluding automatic formatting modification in accordance with someembodiments.

FIG. 3 illustrates example text and formatting changes to a document inaccordance with some embodiments.

FIG. 4 illustrates an interactive user interface component forcontrolling automatic changes to a document in accordance with someembodiments.

FIG. 5 illustrates a flowchart showing a technique for modifying adocument in accordance with some embodiments.

FIG. 6 illustrates generally an example of a block diagram of a machineupon which any one or more of the techniques discussed herein mayperform in accordance with some embodiments.

DETAILED DESCRIPTION

Systems and methods for performing automatic edits in a text documentare described herein. The systems and methods described herein may beused to apply edits to a portion of a document in response to an initialuser edit. Repetitive tasks may be automated to improve experience in auser interface. The automation may speed up document processing andpresent unique and specific edits on a user interface. Some commonrepetitive tasks may include applying a specific direct formatting toall headings repetitively, redacting a series of numbers to retainconfidentiality, modifying a list of entries in similar way such ascapitalizing a first letter, adding a period to an end of a sentence,etc.

The systems and methods described herein allow for automated edits with,for example, a single user example. Based on the single example, thesystems and methods may determine a user's intention, extrapolate toother potential edits throughout a document, and modify the documentbased on a pattern identified from the determined intention. In anexample, a system may determine the pattern based on an additionalaction performed by a user, such as a cursor placement (e.g., at adetermined second item in a list), starting a second edit, completing asecond example, or the like.

In an example, a system may intelligently recognize a pattern in adocument and apply changes across existing and new content. A system mayleverage artificial intelligence technology, machine learning technology(e.g., trained or untrained), or the like. For example, the system mayuse a software development kit (SDK) or other framework of technologiesfor programming by examples. This may include automatic generation ofprograms from input-output examples at runtime to determine user intent,other applicable text that edits may be applied to within a document, ora pattern of text. For example, given a domain-specific language andsome input-output examples for the desired program's behavior, the SDKmay be used to synthesize a ranked set of domain-specific languageprograms that are consistent with the examples. In an example, athreshold may be used. For example, the system may use a threshold basedon a confidence score to determine whether to apply the automatic edits(or to ask the user whether the user wants the edits applied).

In an example, a pattern may be recognized based on a document ordocuments other than a current document. For example, previous documentsedited or drafted by a user may be used to determine or identify apattern within a current document. In another example, style,formatting, or content changes in documents by other users may beconsidered and used to determine or identify a pattern in a currentdocument. These examples may be combined or used with or instead ofrecognizing a pattern within a current document.

The systems and methods described herein allow a user to benefit fromthe automatic edits without needing to understand any programmingconcepts such as macros or regular expressions. In an example, the userdoes not need to activate the automatic edits, or identify thatrepetitive tasks are being done. Rather, the systems and methods mayautomatically detect that the user is conducting a repeatable task.After identification of the repeatable task, the systems and methods maybe used to scan the document to identify whether there are other placesto apply the same edit. When identified, the systems and methods mayautomatically surface suggestions to modify the document or perform theedits automatically.

The edits performed automatically based on a user example may includestring modification (e.g., changing text, such as redacting numbers orletters, changing spelled out words to abbreviations, etc.), orformatting modifications (e.g., capitalizing letters, font changes, suchas underline, italicize, bolding, size, etc.). Some automatic edits mayinclude both format changes and string changes (e.g., redacting andchanging font type).

Once one, or optionally two, examples are performed (or some actionbetween one and two examples, such as when an example edit includes adeletion and an addition of text, the action in between may include thedeletion without the addition), the system determines a pattern, andidentifies similar structures that could use a similar pattern to updatethe other structures. For example, a method may include receiving a useredit of an entry inside a list, identifying that the user has moved acursor to another entry inside the same list, and triggering theautomatic edits. Optionally, the user may be notified that automaticedits are available. In this example, when the user selects the result,content gets updated and highlighted, and when the user closes a portionof a user interface (or selects to not receive the automatic edits), theportion of the user interface may not launch again until the user editsanother list.

FIGS. 1A-1G illustrate a user interface 100 for presenting a documentincluding automatic text modification in accordance with someembodiments. The document displayed on user interface 100 is modified ineach of the FIGS. 1A-1G, and the modifications may be user modificationsor automatic modifications. The document depicts a set of names withsocial security numbers. In FIG. 1A, the numbers are un-redacted. FIG.1B illustrates an intermediate edit, where the user has deleted the lastfour digits of John Smith's number, but has not yet added placeholdertext. FIG. 1B's intermediate edit may represent a type of edit that doesnot exceed a confidence score/threshold for applying automatic edits(e.g., the edit is not complete).

FIG. 1C illustrates a completed edit, where “XXXX” has replaced the lastfour digits of John Smith's number. In an example, FIG. 1C alsoillustrates a cursor placement 102, which is displayed next to JakeCraig's social security number. In an example, upon completion of theedit (e.g., by adding “XXXX”), an automatic edit identification may betriggered. For example, after completion of the edit, a notification maybe presented on the user interface 100 to the user to indicate thatadditional edits may be made to the document automatically (e.g., tochange the last four digits of each number to “XXXX”). In anotherexample, the additional edits may be applied automatically withoutnotification to the user, but which the user may select to undo ifdesired.

In an example, after the edit is completed, an additional action by theuser may be required before triggering automatic edits. For exampleplacement of the cursor 102 at the location shown in FIG. 1C may triggerthe automatic edits. A system may identify, from the cursor 102placement that the user is attempting to perform a second edit (on JakeCraig's number) corresponding to the completed edit. Other actions ofthis sort may trigger the automatic edits, such as a keystroke (e.g., apress of a spacebar), entry of text or deletion of text (e.g., when XXXXis entered before the numbers are deleted), highlighting text (e.g.,with the cursor, highlighting the numbers to delete/change to XXXX), orthe like. In another example, a user may perform two edits, which may berecognized as a pattern.

FIG. 1D illustrates a second edit performed on the document (for JakeCraig's number). In an example, the second edit may be automaticallyperformed by the system, after which the user may choose to keep theautomatic edit or undo the automatic edit. When the user chooses to keepthe automatic edit, additional edits may be made (e.g., to numbers forRhonda, Megan, James, Ellie, and Jamie).

In another example, the second edit of FIG. 1D may be performed by theuser. In response, the system may detect a pattern and apply additionaledits or suggest additional edits as described below. FIGS. 1E-1G show,for convenience, the example where the user has entered a second edit,which triggers additional automatic actions. However, any of the abovetriggers may be used with the user interface described for FIGS. 1E-1G.For example, cursor placement, keystroke, text entry, deletion,highlighting, etc., may be used instead of or in addition to the secondedit to trigger actions depicted in FIGS. 1E-1G.

FIG. 1E illustrates a user interface component 104 that is used to alertthe user that additional edits are available for automatic performance.The user interface component 104 may be selected by the user (e.g.,using a pointer), which may cause the user interface to transition thedocument to the state shown in FIG. 1F. In FIG. 1F, the user interfacecomponent 104 has expanded to include suggested automatic edits 106. Inan example, the user interface component 104 or the suggested automaticedits 106 may include a selectable component (not shown) for the user toselect, which upon selection causes the suggested automatic edits 106 tobe applied to the document. In an example, the user may select somewherein the document other than the user interface component 104 or thesuggested automatic edits 106 to close both. In an example, the userinterface component 104 or the suggested automatic edits 106 may includea selectable button to close these components and decline the automaticedits. In an example, the automatic edits may be selected and applied tothe document based on other user input, such as hitting a button (e.g.,enter or spacebar).

After the automatic edits are applied, the document appears in the userinterface according to the example shown in FIG. 1G. All automatic editshave been applied to the remaining similarly formatted text of numbers.FIG. 1G may result from any of the examples described above, such asdirectly from any of the document states shown in FIGS. 1C-1F. In anexample, the user interface 100 may include, in the document shown inFIG. 1G, an option to the user to undo the automatic edits.

FIGS. 2A-2C illustrate a user interface 200 for presenting a documentincluding automatic formatting modification in accordance with someembodiments. Similar to the automatic textual/string edits describedabove in relation to FIGS. 1A-1G, automatic formatting changes are shownin FIGS. 2A-2C, and described below.

FIG. 2A includes a document shown on the user interface 200 before anyformatting edits have been applied. FIG. 2B shows a formatting edit,where the text “1. OVERVIEW” has been edited to be bolded, italicized,and underlined. FIG. 2C shows remaining similar text (“2. CONTACTS” and“3. IMPLEMENTATION”) automatically reformatted according to theformatting changes applied to the “1. OVERVIEW” text. In an example, theautomatic formatting changes may be triggered according to any of thetechniques described above for the string edits. For example, basedsolely on the first example, and identification of other similar text oruser actions including: cursor placement, a second example, a portion ofa second example, or the like.

FIG. 3 illustrates example text and formatting changes to a document inaccordance with some embodiments. The example text changes andformatting changes in FIG. 3 are illustrative, and not limiting. Theexamples shown in FIG. 3 may be determined and edited automatically. Forexample, a state of a list may be captured, such as when a user firstnavigates (e.g., places a cursor) at or within the list. The list may becaptured again after the user edits the list (e.g., edits a firstexample). The list may be captured when the user performs an additionalaction, such as a second edit example, placing a cursor at a location tobegin the second edit example (but before the second edit example isactually performed), or performing a portion of the second edit. Thesecaptures may be sent to a machine learning component to learn examples.Training data for these examples may be marked (e.g., this is an editthat should be made, this is a list, etc.). In an example, when thefirst capture and a subsequent capture are different, the captures maybe used in the machine learning component for training. The two capturesthat differ may be testing data (e.g., not labeled) and used in themachine learning component for unsupervised training.

Example formatting changes may include: formatting headings based on afirst example; capitalizing names; redacting certain types of content(names, SSN, etc.); positioning pictures based on examples, wrapping,size, etc.; table layout clean up, such as fixing column widths acrosstables; proofing, such as automating changes in spelling of a word,applied everywhere else automatically; forms creation, such as turningall similar types of data in to fields automatically; template documentcreation, such as changing a customer name throughout a document after afirst user replacement; footnotes by example; creating a table ofcontents based on a first manually typed example; automatically creatingcross-references based on what the user types (e.g., “see table on page2”); reorganizing research content to move each portion of content thatis highlighted a color to be near one another, or alternatively to moveeverything that's “green” to a new document; content editing, such asreplacing two spaces after period with one or putting a quotation markaround a name/number; changing a date format; formatting a list;recovering a “paste” function, by learning what a next paste recoveryfor a next example is, based on a first example; or the like. In anexample, formatting changes may include object positioning ormodification changes. For example, setting a wrapping style of an object(e.g., an image, a text box, etc.), alignment, cropping an image,inserting or modifying a shape, a 3D model, or the like.

In an example, a list may be modified, for example such that: each listentry has the same styling; the document remembers the list style in thefuture after a user formats the list in certain way; or the like. In anexample, a heading may be modified, for example such that: there areconsistent styling for all headings at the same level; the documentautomatically recognizes sentence as headings, and format the heading asthe user types; or the like. In an example, a table may be modified, forexample such that: tables fit properly on a page; all tables in the samedocument have consistent styling; all rows in the table to have roughlythe same height; all tables in the same document have the same columnwidth; the document automatically recognizes and formats column/rowheaders; tables extracted from PDF/Images are fixed; or the like.

Example find and replace changes may include: extrapolation in tables;extrapolation in lists; consistent list structure (e.g., Capitalize, addperiod at the end); redact content such as SSN in a list; extrapolationfor “date” entity; apply the change to all words/phrases representingthe same entity when the user changes one of these words/phrases;content in table cell gets formatted automatically based on column/rownames; for example: all numbers with “revenue” in column name areformatted as “currency”; recognize fillable blanks in a document, andautomatically populate suggestions based on previous blanks the userfilled in other documents (e.g. form filling); or the like.

Example content extraction changes may include: generate a table ofcontents when the user types (or copy): for example, a heading+“ . . .”+page number; recognize sentences for headings, suggest a table ofcontents at the beginning of document, and update as the user adds morecontent; extract content from PDFs/Images/Webpages; bibliographydetection/clean up; or the like.

FIG. 4 illustrates an interactive user interface component 400 forcontrolling automatic changes to a document in accordance with someembodiments. The interactive user interface component 400 may be used toturn off automatic edits. For example, when a user does not want theautomatic edits or they are not being applied in a way the user desires,the automatic edits may be turned off using the interactive userinterface component 400.

In an example, the user may navigate through individual suggestions toaccept or decline, or one-click to apply all (accept or decline). Theuser may modify a suggestion or automatic edit. For example, the usermay provide a second example to improve suggestions for the same contentblock. In an example, the system may apply learnings to other contentblock in the same document. In an example, the system may applylearnings to other documents.

The interactive user interface component 400 includes potential reasonsfor turning off automatic edits. In an example, a given reason may causeautomatic edits to be turned off solely for a particular content block(e.g., a section, a document, etc.), a type of edit, only thatparticular automatic edit, or the like. In another example, a givenreason may cause automatic edits to be turned off for an entiredocument, or permanently for a particular user or machine (which may beturned back on at the user's discretion). Example given reasons includeautomatic edits being applied when not needed, inaccurate automaticedits, or suggestions after all desired edits are already applied. Anoption may be provided in the interactive user interface component 400for additional feedback from the user.

Automatic edits may also be turned off automatically without use of theinteractive user interface component 400. For example, when a userperforms an undo command once, automatic edits may be turned off forsuggestions in a same list, document, table, etc. In another example,when a user deletes an automatic edit (e.g., manually undoes the editwithout performing an undo command), the automatic edits may be turnedoff. In an example, when a user undoes X % (e.g., 50%, 75%, etc.) of theautomatic edits (or manually reverts that percentage), the system mayprompt the user to turn automatic edits off, or may turn the automaticedits off without user input (but which may include alerting the user).In another example, when a user ignores the automatic edit prompt somespecified number of times (e.g., 5) consecutively or in total, thesystem may prompt the user to turn automatic edits off, or may turn theautomatic edits off without user input (but which may again includealerting the user).

FIG. 5 illustrates a flowchart showing a technique 500 for modifying adocument in accordance with some embodiments. The technique 500 includesan operation 502 to display the document on a user interface, such as atext document, a document editing webpage or website, or the like. Theuser interface may be displayed on a display screen of a computer orconnected to a computer, a mobile device (e.g., a phone or tablet), orthe like. The technique 500 includes an operation 504 to receive, on theuser interface, a user input including an edit task to a first portionof the document. The edit task may include a format change, a contentchange, or both.

The technique 500 includes an operation 506 to determine, using aprocessor, that a second portion of the document includes textchangeable by the edit task. In an example operation 506 may betriggered by a user interaction, such as a cursor placement (e.g., in alocation to perform the edit task on the second portion of thedocument), second edit, cursor placement after second edit, portion ofsecond edit performed, etc. The technique 500 includes an optionaloperation 508 to display a selectable option to complete other edits.

The technique 500 includes an operation 510 to automatically perform theedit task on the second portion of the document within the userinterface based on the determination. In an example, the technique 500may include an optional operation to display or highlight the secondportion of the document within the user interface to indicate the secondportion of the document includes the text changeable by the edit task.This optional operation may be performed before automatically performingthe edit task on the second portion of the document.

Operation 510 may include automatically performing the edit task on thesecond portion of the document without identification of the secondportion of the document by a user. In an example, the technique mayinclude presenting a selectable user interface component within the userinterface, the selectable user interface component including an optionto automate the edit task on the second portion of the document, basedon the determination. Operation 510 may include automatically performingthe edit task in response to receiving, on the selectable user interfacecomponent, a user selection of the option to automate the edit task onthe second portion of the document.

FIG. 6 illustrates generally an example of a block diagram of a machine600 upon which any one or more of the techniques (e.g., methodologies)discussed herein may perform in accordance with some embodiments. Inalternative embodiments, the machine 600 may operate as a standalonedevice or may be connected (e.g., networked) to other machines. In anetworked deployment, the machine 600 may operate in the capacity of aserver machine, a client machine, or both in server-client networkenvironments. In an example, the machine 600 may act as a peer machinein peer-to-peer (P2P) (or other distributed) network environment. Themachine 600 may be a personal computer (PC), a tablet PC, a set-top box(STB), a personal digital assistant (PDA), a mobile telephone, a webappliance, a network router, switch or bridge, or any machine capable ofexecuting instructions (sequential or otherwise) that specify actions tobe taken by that machine. Further, while only a single machine isillustrated, the term “machine” shall also be taken to include anycollection of machines that individually or jointly execute a set (ormultiple sets) of instructions to perform any one or more of themethodologies discussed herein, such as cloud computing, software as aservice (SaaS), other computer cluster configurations.

Examples, as described herein, may include, or may operate on, logic ora number of components, modules, or mechanisms. Modules are tangibleentities (e.g., hardware) capable of performing specified operationswhen operating. A module includes hardware. In an example, the hardwaremay be specifically configured to carry out a specific operation (e.g.,hardwired). In an example, the hardware may include configurableexecution units (e.g., transistors, circuits, etc.) and a computerreadable medium containing instructions, where the instructionsconfigure the execution units to carry out a specific operation when inoperation. The configuring may occur under the direction of theexecutions units or a loading mechanism. Accordingly, the executionunits are communicatively coupled to the computer readable medium whenthe device is operating. In this example, the execution units may be amember of more than one module. For example, under operation, theexecution units may be configured by a first set of instructions toimplement a first module at one point in time and reconfigured by asecond set of instructions to implement a second module.

Machine (e.g., computer system) 600 may include a hardware processor 602(e.g., a central processing unit (CPU), a graphics processing unit(GPU), a hardware processor core, or any combination thereof), a mainmemory 604 and a static memory 606, some or all of which may communicatewith each other via an interlink (e.g., bus) 608. The machine 600 mayfurther include a display unit 610, an alphanumeric input device 612(e.g., a keyboard), and a user interface (UI) navigation device 614(e.g., a mouse). In an example, the display unit 610, alphanumeric inputdevice 612 and UI navigation device 614 may be a touch screen display.The machine 600 may additionally include a storage device (e.g., driveunit) 616, a signal generation device 618 (e.g., a speaker), a networkinterface device 620, and one or more sensors 621, such as a globalpositioning system (GPS) sensor, compass, accelerometer, or othersensor. The machine 600 may include an output controller 628, such as aserial (e.g., universal serial bus (USB), parallel, or other wired orwireless (e.g., infrared (IR), near field communication (NFC), etc.)connection to communicate or control one or more peripheral devices(e.g., a printer, card reader, etc.).

The storage device 616 may include a machine readable medium 622 that isnon-transitory on which is stored one or more sets of data structures orinstructions 624 (e.g., software) embodying or utilized by any one ormore of the techniques or functions described herein. The instructions624 may also reside, completely or at least partially, within the mainmemory 604, within static memory 606, or within the hardware processor602 during execution thereof by the machine 600. In an example, one orany combination of the hardware processor 602, the main memory 604, thestatic memory 606, or the storage device 616 may constitute machinereadable media.

While the machine readable medium 622 is illustrated as a single medium,the term “machine readable medium” may include a single medium ormultiple media (e.g., a centralized or distributed database, orassociated caches and servers) configured to store the one or moreinstructions 624.

The term “machine readable medium” may include any medium that iscapable of storing, encoding, or carrying instructions for execution bythe machine 600 and that cause the machine 600 to perform any one ormore of the techniques of the present disclosure, or that is capable ofstoring, encoding or carrying data structures used by or associated withsuch instructions. Non-limiting machine readable medium examples mayinclude solid-state memories, and optical and magnetic media. Specificexamples of machine readable media may include: non-volatile memory,such as semiconductor memory devices (e.g., Electrically ProgrammableRead-Only Memory (EPROM), Electrically Erasable Programmable Read-OnlyMemory (EEPROM)) and flash memory devices; magnetic disks, such asinternal hard disks and removable disks; magneto-optical disks; andCD-ROM and DVD-ROM disks.

The instructions 624 may further be transmitted or received over acommunications network 626 using a transmission medium via the networkinterface device 620 utilizing any one of a number of transfer protocols(e.g., frame relay, internet protocol (IP), transmission controlprotocol (TCP), user datagram protocol (UDP), hypertext transferprotocol (HTTP), etc.). Example communication networks may include alocal area network (LAN), a wide area network (WAN), a packet datanetwork (e.g., the Internet), mobile telephone networks (e.g., cellularnetworks), Plain Old Telephone (POTS) networks, and wireless datanetworks (e.g., Institute of Electrical and Electronics Engineers (IEEE)802.11 family of standards known as Wi-Fi®, IEEE 802.16 family ofstandards known as WiMax®), IEEE 802.15.4 family of standards,peer-to-peer (P2P) networks, among others. In an example, the networkinterface device 620 may include one or more physical jacks (e.g.,Ethernet, coaxial, or phone jacks) or one or more antennas to connect tothe communications network 626. In an example, the network interfacedevice 620 may include a plurality of antennas to wirelessly communicateusing at least one of single-input multiple-output (SIMO),multiple-input multiple-output (MIMO), or multiple-input single-output(MISO) techniques. The term “transmission medium” shall be taken toinclude any intangible medium that is capable of storing, encoding orcarrying instructions for execution by the machine 600, and includesdigital or analog communications signals or other intangible medium tofacilitate communication of such software.

Each of the non-limiting examples below may stand on its own, or may becombined in various permutations or combinations with one or more of theother examples.

Example 1 is a method comprising: receiving, on a user interface, a userinput including an edit task to a first portion of a document, the edittask including a change to text in the first portion of the document;determining, using a processor, that a second portion of the documentincludes, text changeable by the edit task by matching a pattern of textin the second portion of the document to the text in the first portionof the document, the text in the second portion of the documentdiffering from the text in the first portion of the document; andautomatically performing the edit task on the second portion of thedocument within the user interface based on the determination.

In Example 2, the subject matter of Example 1 includes, based on thedetermination, presenting a selectable user interface component withinthe user interface, the selectable user interface component including anoption to automate the edit task on the second portion of the document;and wherein automatically performing the edit task includesautomatically performing the edit task in response to receiving, on theselectable user interface component, a user selection of the option toautomate the edit task on the second portion of the document.

In Example 3, the subject matter of Examples 1-2 includes, wherein theedit task includes a format change or a string change to the text in thefirst portion of the document.

In Example 4, the subject matter of Examples 1-3 includes, whereindetermining that the second portion of the document includes textchangeable by the edit task includes receiving a second user input.

In Example 5, the subject matter of Example 4 includes, wherein thesecond user input is a cursor placement in a location to perform theedit task on the second portion of the document without the userperforming the edit task.

In Example 6, the subject matter of Examples 4-5 includes, wherein thesecond user input includes performing the edit task on a third portionof the document.

In Example 7, the subject matter of Examples 1-6 includes, whereinautomatically performing the edit task on the second portion of thedocument includes automatically performing the edit task on the secondportion of the document without identification of the second portion ofthe document by a user.

In Example 8, the subject matter of Examples 1-7 includes, wherein thedocument is presented in a document editing webpage.

In Example 9, the subject matter of Examples 1-8 includes, beforeautomatically performing the edit task on the second portion of thedocument, displaying and highlighting the second portion of the documentwithin the user interface to indicate the second portion of the documentincludes the text changeable by the edit task.

Example 10 is a machine-readable medium including instructions forpresenting a user interface, which when executed by a processor, causethe processor to: receive, on the user interface, a user input includingan edit task to a first portion of a document, the edit task including aformat change to text in the first portion of the document; determine,using a processor, that a second portion of the document includes, textchangeable by the edit task by matching a pattern of text in the secondportion of the document to the text in the first portion of thedocument, the text in the second portion of the document differing fromthe text in the first portion of the document; and automatically performthe edit task on the second portion of the document within the userinterface based on the determination.

In Example 11, the subject matter of Example 10 includes, wherein theinstructions are further to, based on the determination, present aselectable user interface component within the user interface, theselectable user interface component including an option to automate theedit task on the second portion of the document, and wherein toautomatically perform the edit task, the instructions further cause theprocessor to automatically perform the edit task in response toreceiving, on the selectable user interface component, a user selectionof the option to automate the edit task on the second portion of thedocument.

In Example 12, the subject matter of Examples 10-11 includes, whereinthe edit task includes a format change or a string change to the text inthe first portion of the document.

In Example 13, the subject matter of Examples 10-12 includes, wherein todetermine that the second portion of the document includes textchangeable by the edit task, the instructions further cause theprocessor to receive a second user input.

In Example 14, the subject matter of Example 13 includes, wherein thesecond user input is a cursor placement in a location to perform theedit task on the second portion of the document without the userperforming the edit task.

In Example 15, the subject matter of Examples 10-14 includes, wherein toautomatically perform the edit task, the instructions further cause theprocessor to automatically perform the edit task on the second portionof the document without identification of the second portion of thedocument by a user.

In Example 16, the subject matter of Examples 10-15 includes, whereinthe instructions further cause the processor to, before automaticallyperforming the edit task on the second portion of the document, displayand highlight the second portion of the document within the userinterface to indicate the second portion of the document includes thetext changeable by the edit task.

Example 17 is a system comprising: a display to present a userinterface; processing circuitry to: receive, via the user interface, auser input including an edit task to a first portion of a document, theedit task including a format change to text in the first portion of thedocument; determine that a second portion of the document includes, textchangeable by the edit task by matching a pattern of text in the secondportion of the document to the text in the first portion of thedocument, the text in the second portion of the document differing fromthe text in the first portion of the document; automatically update thesecond portion of the document with the edit task based on thedetermination; and output the updated second portion of the document tothe display for presenting on the user interface.

In Example 18, the subject matter of Example 17 includes, wherein theprocessing circuitry is further to, based on the determination, presenta selectable user interface component within the user interface, theselectable user interface component including an option to automate theedit task on the second portion of the document, and wherein toautomatically update the second portion of the document, the processingcircuitry is further to automatically update the second portion of thedocument in response to receiving, on the selectable user interfacecomponent, a user selection of the option to automate the edit task onthe second portion of the document.

In Example 19, the subject matter of Examples 17-18 includes, whereinthe edit task includes a format change or a string change to the text inthe first portion of the document.

In Example 20, the subject matter of Examples 17-19 includes, wherein todetermine that the second portion of the document includes textchangeable by the edit task, the processing circuitry is further toreceive a second user input of a cursor placement in a location toperform the edit task on the second portion of the document without theuser performing the edit task.

Example 21 is at least one machine-readable medium includinginstructions that, when executed by processing circuitry, cause theprocessing circuitry to perform operations to implement of any ofExamples 1-20.

Example 22 is an apparatus comprising means to implement of any ofExamples 1-20.

Example 23 is a system to implement of any of Examples 1-20.

Example 24 is a method to implement of any of Examples 1-20.

Method examples described herein may be machine or computer-implementedat least in part. Some examples may include a computer-readable mediumor machine-readable medium encoded with instructions operable toconfigure an electronic device to perform methods as described in theabove examples. An implementation of such methods may include code, suchas microcode, assembly language code, a higher-level language code, orthe like. Such code may include computer readable instructions forperforming various methods. The code may form portions of computerprogram products. Further, in an example, the code may be tangiblystored on one or more volatile, non-transitory, or non-volatile tangiblecomputer-readable media, such as during execution or at other times.Examples of these tangible computer-readable media may include, but arenot limited to, hard disks, removable magnetic disks, removable opticaldisks (e.g., compact disks and digital video disks), magnetic cassettes,memory cards or sticks, random access memories (RAMs), read onlymemories (ROMs), and the like.

What is claimed is:
 1. A method comprising: receiving, on a userinterface, a user input including an edit task to a first portion of adocument, the edit task including a change to text in the first portionof the document; determining, using a processor, that a second portionof the document includes text changeable by the edit task by matching apattern of text in the second portion of the document to the text in thefirst portion of the document, the text in the second portion of thedocument differing from the text in the first portion of the document,wherein the pattern of text for the second portion of the document isidentified from the first portion of the document based on historicaldata; and automatically performing the edit task on the second portionof the document within the user interface based on the determination. 2.The method of claim 1, further comprising: based on the determination,presenting a selectable user interface component within the userinterface, the selectable user interface component including an optionto automate the edit task on the second portion of the document; andwherein automatically performing the edit task includes automaticallyperforming the edit task in response to receiving, on the selectableuser interface component, a user selection of the option to automate theedit task on the second portion of the document.
 3. The method of claim1, wherein the edit task includes a format change or a string change tothe text in in the first portion of the document.
 4. The method of claim1, wherein determining that the second portion of the document includestext changeable by the edit task includes receiving a second user input.5. The method of claim 4, wherein the second user input is a cursorplacement in a location to perform the edit task on the second portionof the document without the user performing the edit task.
 6. The methodof claim 4, wherein the second user input includes performing the edittask on a third portion of the document.
 7. The method of claim 1,wherein automatically performing the edit task on the second portion ofthe document includes automatically performing the edit task on thesecond portion of the document without identification of the secondportion of the document by a user.
 8. The method of claim 1, wherein thedocument is presented in a document editing webpage.
 9. The method ofclaim 1, further comprising before automatically performing the edittask on the second portion of the document, displaying and highlightingthe second portion of the document within the user interface to indicatethe second portion of the document includes the text changeable by theedit task.
 10. A machine-readable medium including instructions forpresenting a user interface, which when executed by a processor, causethe processor to: receive, on the user interface, a user input includingan edit task to a first portion of a document, the edit task including achange to text in the first portion of the document; determine, using aprocessor, that a second portion of the document includes textchangeable by the edit task by matching a pattern of text in the secondportion of the document to the text in the first portion of thedocument, the text in the second portion of the document differing fromthe text in the first portion of the document, wherein the pattern oftext for the second portion of the document is identified from the firstportion of the document based on historical data; and automaticallyperform the edit task on the second portion of the document within theuser interface based on the determination.
 11. The machine-readablemedium of claim 10, wherein the instructions are further to, based onthe determination, present a selectable user interface component withinthe user interface, the selectable user interface component including anoption to automate the edit task on the second portion of the document,and wherein to automatically perform the edit task, the instructionsfurther cause the processor to automatically perform the edit task inresponse to receiving, on the selectable user interface component, auser selection of the option to automate the edit task on the secondportion of the document.
 12. The machine-readable medium of claim 10,wherein the edit task includes a format change or a string change to thetext in in the first portion of the document.
 13. The machine-readablemedium of claim 10, wherein to determine that the second portion of thedocument includes text changeable by the edit task, the instructionsfurther cause the processor to receive a second user input.
 14. Themachine-readable medium of claim 13, wherein the second user input is acursor placement in a location to perform the edit task on the secondportion of the document without the user performing the edit task. 15.The machine-readable medium of claim 10, wherein to automaticallyperform the edit task, the instructions further cause the processor toautomatically perform the edit task on the second portion of thedocument without identification of the second portion of the document bya user.
 16. The machine-readable medium of claim 10, wherein theinstructions further cause the processor to, before automaticallyperforming the edit task on the second portion of the document, displayand highlight the second portion of the document within the userinterface to indicate the second portion of the document includes thetext changeable by the edit task.
 17. A system comprising: a display topresent a user interface; processing circuitry to: receive, via the userinterface, a user input including an edit task to a first portion of adocument, the edit task including a change to text in the first portionof the document; determine that a second portion of the documentincludes text changeable by the edit task by matching a pattern of textin the second portion of the document to the text in the first portionof the document, the text in the second portion of the documentdiffering from the text in the first portion of the document, whereinthe pattern of text for the second portion of the document is identifiedfrom the first portion of the document based on historical data;automatically update the second portion of the document with the edittask based on the determination; and output the updated second portionof the document to the display for presenting on the user interface. 18.The system of claim 17, wherein the processing circuitry is further to,based on the determination, present a selectable user interfacecomponent within the user interface, the selectable user interfacecomponent including an option to automate the edit task on the secondportion of the document, and wherein to automatically update the secondportion of the document, the processing circuitry is further toautomatically update the second portion of the document in response toreceiving, on the selectable user interface component, a user selectionof the option to automate the edit task on the second portion of thedocument.
 19. The system of claim 17, wherein the edit task includes aformat change or a string change to the text in in the first portion ofthe document.
 20. The system of claim 17, wherein to determine that thesecond portion of the document includes text changeable by the edittask, the processing circuitry is further to receive a second user inputof a cursor placement in a location to perform the edit task on thesecond portion of the document without the user performing the edittask.